package com.priox.sigar.client.dto;

import com.priox.sigar.domain.model.Sociedad;

import javax.validation.constraints.NotNull;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

/**
 * User: Matrix
 * Date: 19/01/13
 */
public class GrupoEmpresarialDTO extends AuditoriaDTO{


    private Long grupoEmpresarialId;

    @NotNull
    private String nombre;
    private String estado;

    @NotNull
    private String sociedadNombre;

    @NotNull
    private String sociedadId;

    private List<SociedadDTO> sociedades = new ArrayList<SociedadDTO>();

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        GrupoEmpresarialDTO that = (GrupoEmpresarialDTO) o;

        if (grupoEmpresarialId != null ? !grupoEmpresarialId.equals(that.grupoEmpresarialId) : that.grupoEmpresarialId != null)
            return false;

        return true;
    }

    @Override
    public int hashCode() {
        return grupoEmpresarialId != null ? grupoEmpresarialId.hashCode() : 0;
    }

    public Long getGrupoEmpresarialId() {
        return grupoEmpresarialId;
    }

    public void setGrupoEmpresarialId(Long grupoEmpresarialId) {
        this.grupoEmpresarialId = grupoEmpresarialId;
    }


    public void setEstado(String estado) {
        this.estado = estado;
    }

    public String getEstado() {
        return estado;
    }


    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    @Override
    public String toString() {
        return "GrupoEmpresarialDTO{" +
                "id=" + grupoEmpresarialId +
                ", descripcion='" + nombre + '\'' +
                ", estado='" + estado + '\'' +
                '}';
    }

    public String getSociedadNombre() {
        return sociedadNombre;
    }

    public void setSociedadNombre(String sociedadNombre) {
        this.sociedadNombre = sociedadNombre;
    }

    public String getSociedadId() {
        return sociedadId;
    }

    public void setSociedadId(String sociedadId) {
        this.sociedadId = sociedadId;
    }

    public List<SociedadDTO> getSociedades() {
        return sociedades;
    }

    public void setSociedades(List<SociedadDTO> sociedades) {
        this.sociedades = sociedades;
    }

    public void addSociedad(SociedadDTO data) {
        sociedades.add(data);
    }
}
